package com.nextel.project.pedido.mvc;

import com.nextel.project.Configuracion;
import com.nextel.project.pedido.ControlPedido;
import com.nextel.ui.OImage;


import com.nextel.ui.OLabel;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OTextField;
import com.nextel.ui.OUILook;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;
import pe.com.nextel.util.math.MathUtil;

/**
 *
 * @author eespinoza
 */
public class MVCPedidoFin extends MVCAction {
    private OLabel str;
    
    private OSoftKey cmdFin, cmdAtras;
    private boolean flagForm; // para que no presione dos veces al momento de buscar     

    protected void createView()  {

        cmdFin = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_SI));//"Si"
        cmdAtras = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_NO));//"No"

        formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_FINALIZAR), OUILook.PLAIN_SMALL_TITLE);//"Finalizar"

        formulario.addSoftKey(cmdFin);
        formulario.addSoftKey(cmdAtras);

    }

    protected void createItems() {
        
        StringBuffer stf = new StringBuffer();
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_CONFIRMAR_FINALIZAR_PEDIDO)).append('\n');//"Est\u00E1 seguro de finalizar el pedido?"
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_MONTO_PEDIDO)+" : " + Configuracion.Moneda + " ").append( Configuracion.CambiarSimbolo(MathUtil.setScale(ControlPedido.getInstance().currentPedido.getMontoTotal(), 2)) ).append('\n');
        stf.append("#"+IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_ITEMS_PEDIDO)+": ").append( ControlPedido.getInstance().currentPedido.getLstPedidoDetalle().size()).append('\n'); //items pedido
        stf.append(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_OBS)+": ").append( ControlPedido.getInstance().currentPedido.getObservaciones()); //Observaciones
                        
        str = new OLabel(stf.toString(),OUILook.PLAIN_SMALL_TEXT,formulario.getWidth());
       try{
        formulario.add(new OImage("/res/confirmacion.PNG"));
        formulario.add(str);
        flagForm = true;
        
       }catch(Exception ex){
           ex.printStackTrace();
       }
    }

    public void performAction(OSoftKey c) {
        if (flagForm) {
            flagForm = false;
            if (c == cmdFin) {                
                ControlPedido.getInstance().grabarPedido();
            } else if (c == cmdAtras) {
                ControlPedido.getInstance().setCurrent(ControlPedido.getInstance().mvcProductoPedido);
            }
            destroy();
        }
    }
}
